/**
 * 
 */
package com.zufangbao.earth.handler;

import java.util.List;

import com.demo2do.core.web.resolver.Page;
import com.zufangbao.gluon.api.earth.ReceivablesBrief;
import com.zufangbao.gluon.api.quark.AuthorisedBillSketch;
import com.zufangbao.gluon.api.quark.TransactionRecordSketch;
import com.zufangbao.gluon.exception.CommonException;
import com.zufangbao.sun.entity.order.Order;
import com.zufangbao.sun.entity.receivables.HistoryPaidType;

/**
 * @author wukai
 *
 */
public interface ReceivableHandler {

	public List<Order> getHistoryPaidOrder(String appId,String particalUniqueId, String contractNo,
			HistoryPaidType historyPaidType, Page page) throws CommonException;

	public abstract List<AuthorisedBillSketch> getTodayPaidBill(String appId, String particalUniqueId,
			 Page page) throws CommonException;

	public List<AuthorisedBillSketch> getTodayUnpaidOutstandingBill(String appId,
			String particalUniqueId,  Page page) throws CommonException;
	
	public List<AuthorisedBillSketch> getOutstandingBills(String appId, String particalUniqueId,  Page page) throws CommonException;
	
	public List<TransactionRecordSketch> getTransactionRecord(String appId, String particalUniqueId,List<String> billIds) throws CommonException;

	public boolean confirmTransactionRecord(String appId, String particalUniqueId,List<String> uniqueTransactionIds) throws CommonException;
	
	public List<AuthorisedBillSketch> getOverPaymentDateBills(String appId, String particalUniqueId,  Page page) throws CommonException;
	
	public List<AuthorisedBillSketch> getNotReachPaymentDateBills(String appId, String particalUniqueId,  Page page) throws CommonException;
	
	public ReceivablesBrief getReceivablesBrief(String appId, String particalUniqueId) throws CommonException;

	public int getHistoryPaidOrderCount(String appId,String particalUniqueId, HistoryPaidType historyPaidType);
}
